package com.dc.business.datacollectbusiness.mapper;

import com.dc.business.datacollectbusiness.entity.Custom;
import com.dc.business.datacollectbusiness.entity.Meter;
import com.dc.business.datacollectbusiness.model.大屏显示.MeterdateDpZx;
import com.dc.business.datacollectbusiness.model.大屏显示.MeterdateDpZxHour;
import com.dc.business.datacollectbusiness.model.表格数据.*;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface MeterMapper {
    /**
     * 删除点位信息
     */
    public boolean deleteMeterById(int meterId);
    /**
     * 添加点位信息
     */
    public boolean insertMeter(Meter meter);
    /**
     * 修改点位信息
     */
    public boolean updateMeter(Meter meter);

    /**
     * 点击层级显示点位信息
     */
    public List<Meter> seleteMeterBycengji(Meter meter);


    /**
     * 点击层级显示点位信息(全部)
     */
    public List<Meter> seleteMeterBycengji3(Meter meter);


    /**
     * 获取一个点位通过id
     */
    public Meter selectMeterById(int meterId);

    /**
     * 配置点位信息
     */
    public boolean setMeter(int meterId,int number,int collectorPassageId,String name,String collectorCode,String collectorPassageCode);

    /**
     * 获取点位详情信息
     */
    public Meter getsetMeter(int meterId);

    /**
     * 判断点位的表号是否重复
     */
    public Meter eqsscheduleNumber(String scheduleNumber);

    /**
     * 获取点位数据小时(分页)lj
     */
    public List<MeterdateHourLj> getMeterDateByHourLj(Meter meter);
    /**
     * 获取点位数据小时(分页)xh
     */
    public List<MeterdateHourXh> getMeterDateByHourXh(Meter meter);

    /**
     * 获取点位数据天(分页) lj
     */
    public List<MeterdateDayLj> getMeterDateByDayLj(Meter meter);

    /**
     * 获取点位数据天(分页) xh
     */
    public List<MeterdateDayXh> getMeterDateByDayXh(Meter meter);

    /**
     * 获取点位数据月(分页) lj
     */
    public List<MeterdateMounthLj> getMeterDateByMounthLj(Meter meter);

    /**
     * 获取点位数据月(分页) xh
     */
    public List<MeterdateMounthXh> getMeterDateByMounthXh(Meter meter);

    /**
     * 获取点位数据小时(个数)
     */
    public int  getMeterDateByHoursum(Meter meter);

    /**
     * 获取点位数据天(分页)
     */
    public int getMeterDateByDaysum(Meter meter);

    /**
     * 获取点位数据月(分页)
     */
    public int getMeterDateByMounthsum(Meter meter);

    /**
     * 点击层级显示点位信息 分用户
     */
    public List<Meter> seleteMeterBycengji2(Meter meter);


    /**
     * 获取点位数据小时 分用户  lj
     */
    public List<MeterdateHourLj> getMeterDateByHourLj2(Meter meter);

    /**
     * 获取点位数据小时 分用户 xh
     */
    public List<MeterdateHourXh> getMeterDateByHourXh2(Meter meter);

    /**
     * 获取点位数据天 分用户 lj
     */
    public List<MeterdateDayLj> getMeterDateByDayLj2(Meter meter);

    /**
     * 获取点位数据天 分用户 xh
     */
    public List<MeterdateDayXh> getMeterDateByDayXh2(Meter meter);



    /**
     * 获取点位数据月 分用户
     */
    public List<MeterdateMounthLj> getMeterDateByMounthLj2(Meter meter);

    /**
     * 获取点位数据月 分用户
     */
    public List<MeterdateMounthXh> getMeterDateByMounthXh2(Meter meter);

    /**
     * 获取点位数据小时(个数) 分用户
     */
    public int  getMeterDateByHoursum2(Meter meter);

    /**
     * 获取点位数据天(分页) 分用户
     */
    public int getMeterDateByDaysum2(Meter meter);

    /**
     * 获取点位数据月(分页) 分用户
     */
    public int getMeterDateByMounthsum2(Meter meter);


    /**
     * 获取大屏折线图数据(或饼图)
     */
    public MeterdateDpZx getMeterDateDpZx(Meter meter);
    /**
     * 获取大屏折线图数据(或饼图)2
     */
    public MeterdateDpZxHour getMeterDateDpZx2(Meter meter);

    /*获取所有点位信息*/
    public List<Meter> getAllmeterdate();

    /*获取点位数据时间*/
    public List<Custom> gettime(String tfCollecterProductCode, String channelno);




}
